[Swift] as? as! as is 키워드와 Any

Downcasting, Upcasting, Any 키워드들을 알아보자.

is, as!, as?, as

is

is

left hand와 right hand의 타입이 일치하는지


as!

as!

subclass로 force downcast

확실할 때만 사용!!!!

캐스팅 불가한 경우 컴파일러는 못 잡고 런타임에서 아래 에러를 볼 수 있음

Could not cast value of type 'Human' to 'Fish'

as?

as?

조금 더 안전한 방법

캐스팅이 가능하다면 ~~ 해라


as

as

Upcast : upper class로 raise할 때

? 나 ! 가 붙지 않는 이유 : B가 A를 inherit했다면 당연히 모든 경우에서 Upcast가 가능하기 때문

downcasting보다 훨씬 적게 사용됨

Any

any

  • flexibility를 원하거나
  • 아무 클래스를 상속해야만 사용할 수 있는 기능이 있을 수 있음 > 그럴 경우 AnyObject를 상속해서 사용



reference

Type Casting - The Swift Programming Language (Swift 5.3)

사진출처 Photo Credit :

Udemy iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp



ABOUT ME
I write codes and words.
제가 궁금하다면 ABOUT ME 버튼을 눌러보세요!

GitHubLinkedIn